package com.woniuxy.service;

import com.woniuxy.entity.*;

import java.util.List;

public interface VenueService {
    /**
     * 注册，添加新的场馆
     * @param venue 场馆实例
     * @param venue 注册方式
     * @return 映射执行成功返回1
     */
    int addVenue(Venue venue,int way);

    /**
     * 查找该用户名的场馆
     * @param vname 场馆用户名
     * @return 找到了返回具体的场馆实例，找不到返回null
     */
    Venue findVenueByVname(String vname);

    /**
     * 场馆登录
     * @param venue  场馆实例
     * @param way  登录方式
     * @return  用户名不存在返回ACCOUNT_NOT_EXIST，添加成功返回REGISTER_SUCCESS,其他错误返回REGISTER_ERROR
     */
    int venueLogin(Venue venue,int way);

    /**
     * 查找该手机号的场馆
     * @param phoneNumber 手机号
     * @return 找到了返回具体的场馆实例，找不到返回null
     */
    Venue findVenueByPhoneNumber(String phoneNumber);



    /**
     * 根据场馆id查询id
     * @param vid 场馆id
     * @return 返回null或，venue实例
     */
    Venue findVenueByVenueId(int vid);

//    /**
//     * 根据vid查询是否是他的手机号，然后发送验证码是否匹配
//     * @param vid
//     * @param phoneNumber
//     * @param captcha
//     * @return
//     */
//    int checkInfo(int vid,String phoneNumber,String captcha);

    /**
     * 该场馆忘记密码，需要重置密码
     * @param venue 使用vid和pwd
     * @return int
     */
    int updatePasswordByVenueId(Venue venue);


    /**
     * 查询所有的场馆的分页结果
     * @return 场馆list
     */
    List<Venue> findAllVenues (Venue venue);


    /**
     * 查询所有的场馆
     * @return 场馆list
     */
    List<Venue> selectAllVenues();


    /**
     * 完善注册场馆的信息
     * @param venue 场馆实例
     * @return int
     */
    int completeInfo(Venue venue);

    /**
     * 完善图片
     * @param venue 存放图片
     * @return int
     */
    int updateImage(Venue venue);

    /**
     * 通过QQ号查找场馆
     * @param qq QQ号
     * @return venue
     */
    Venue findVenueByQQ(String qq);

    /**
     * 修改完善地址信息
     * @param venue 封装的地址信息
     * @return int
     */
    int updateAddressByVenue(Venue venue);

    /**
     * 修改场馆手机号
     * @param venue 场馆实例
     * @return int
     */
    int updatePhoneNumberByVenue(Venue venue);

    // 根据场馆id查看签约教练 分页查询
    public PageBean<Signing> getCoachByPage(int page, int vid);

    // 解除签约教练
    public int cancelCoach(int vid, int cid);

    // 签约教练
    public int insertCoach(Signing signing);
}
